// 云函数入口文件
const cloud = require('wx-server-sdk')

// 初始化云环境
cloud.init({ 
  env: cloud.DYNAMIC_CURRENT_ENV // 使用当前云环境
})

/**
 * 获取用户的OpenID、AppID和UnionID（如果有）
 * 此函数不需要任何参数即可工作
 * 返回用户的唯一标识信息，用于用户身份识别和数据关联
 */
exports.main = async (event, context) => {
  try {
    // 获取微信上下文，包含用户的OpenID等信息
    const wxContext = cloud.getWXContext()
    
    if (!wxContext.OPENID) {
      // 如果获取不到OpenID，返回错误
      return {
        success: false,
        errCode: -1,
        errMsg: '获取用户OpenID失败'
      }
    }
    
    // 返回成功结果
    return {
      success: true,
      event,
      openid: wxContext.OPENID,
      appid: wxContext.APPID,
      unionid: wxContext.UNIONID || '',
      env: cloud.DYNAMIC_CURRENT_ENV
    }
  } catch (error) {
    // 捕获并返回错误信息
    console.error('获取用户身份信息失败', error)
    return {
      success: false,
      errCode: error.errCode || -2,
      errMsg: error.message || '获取用户身份信息时发生未知错误'
    }
  }
}